Automated Construction of Reasonable Environment for Java Components
نویسندگان
چکیده
In software component verification, one of the challenges is model checking of isolated components. The environment of an isolated component is unknown, and therefore a part of an input to a model checker is missing. This problem can be addressed via automated generation of an artificial environment — component and its environment form a complete program that can be verified using common model checkers. Focusing on concurrency errors in Java components, we propose to automatically generate a reasonable artificial environment that makes efficient detection of concurrency errors with Java PathFinder possible. Such an environment executes in parallel those component’s methods that interact via concurrency constructs of Java and thus likely contain concurrency errors. We employ static code analysis to identify sets of methods to be executed in parallel and a metric to order the sets according to the degree of interaction. Benefits of the technique are illustrated on results of experiments performed on real-life Java components.
منابع مشابه
Formal Verification of Components in Java
Title: Formal Verification of Components in Java Author: Pavel Paŕızek email: [email protected] phone: +420 2 2191 4235 Department: Department of Software Engineering Faculty of Mathematics and Physics Charles University in Prague, Czech Republic Advisor: Prof. Frantǐsek Plášil email: [email protected] phone: +420 2 2191 4266 Mailing address (both Author and Advisor): Dept. of SW E...
متن کاملAre Autonomous Mobile Robots Able to Take Over Construction? A Review
Although construction has been known as a highly complex application field for autonomous robotic systems, recent advances in this field offer great hope for using robotic capabilities to develop automated construction. Today, space research agencies seek to build infrastructures without human intervention, and construction companies look to robots with the potential to improve construction qua...
متن کاملAddressing State Explosion in Discovery of Concurrency Errors in Component Java Code
Current approaches to the development of reliable software systems include decomposition into components, attaching formal behavior specification to the components, and verification of component behavior via model checking. The main obstacle preventing model checking real-life software components is state explosion, which occurs especially for highly parallel components. In addition, since a ty...
متن کاملEfficient Detection of Errors in Java Components Using Random Environment and Restarts
Software model checkers are being used mostly to discover specific types of errors in the code, since exhaustive verification of complex programs is not possible due to state explosion. Moreover, typical model checkers cannot be directly applied to isolated components such as libraries or individual classes. A common solution is to create an abstract environment for a component to be checked. W...
متن کاملJava software development using component and metacomponent model
Component based modeling offers new and improved approach to the design, construction, implementation and evolution of software applications development. Software components can improve many aspects of software applications development such as functionality, maintainability, usability, etc. Components are used to develop software applications by using some of their services. This kind of softwa...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
- Electr. Notes Theor. Comput. Sci.
دوره 253 شماره
صفحات -
تاریخ انتشار 2009